
:root {
    --slide-0: #012243;
    --slide-1: #021F33;
    --slide-2: #021523;
    --slide-3: #000A11;

    --color-verde: #d2ff5e;
    --color-azzurro: #66ccff;
    --color-viola: #a67edf;
    --color-giallo: #ffcc33;
    --color-blu: #007bff;
    
    --spacing-top: 100px;
}

html,body {
    max-width: 100vw;
    overflow-x: hidden;
    overflow-y: auto;
}
.border-verde {
    --color-verde: #d2ff5e;
}
.border-azzurro {
    --color-azzurro: #66ccff;
}
.border-viola {
    --color-viola: #a67edf;
}
.border-giallo {
    --color-giallo: #ffcc33;
}
.border-blu {
    --color-blu: #007bff;
}

.strumenti-wrap:nth-child(1) .strumento-item {
    background: var(--color-verde);
    border: 5px solid var(--color-verde);
}
.strumenti-wrap:nth-child(2) .strumento-item {
    background: var(--color-azzurro);
    border: 5px solid var(--color-azzurro);
}
.strumenti-wrap:nth-child(3) .strumento-item {
    background: var(--color-viola);
    border: 5px solid var(--color-viola);
}
.strumenti-wrap:nth-child(4) .strumento-item {
    background: var(--color-giallo);
    border: 5px solid var(--color-giallo);
}
.strumenti-wrap:nth-child(5) .strumento-item {
    background: var(--color-blu);
    border: 5px solid var(--color-blu);
}
#logo {
    position: absolute;
    top: 5%;
    left: 50%;
    width: 240px;
    z-index: 1000;
    -webkit-transform: translateX(-50%) scale(0);
    transform: translateX(-50%) scale(0);
    opacity: 0;
    transition: all 1s ease-out;
}
body #logo img {
    width: 100%;
    height: auto;
}
body:not(.slide-initial):not(.slide0) #logo {
    opacity: 1;
    -webkit-transform: translateX(-50%) scale(1);
    transform: translateX(-50%) scale(1);
}
body {
    background:none;
    line-height: 1.3;
    transition: background 1s ease-out;
}

body.slide8,
body.slide4,
body.slide0,
body {
    background: var(--slide-0);
}
body.slide9,
body.slide5,
body.slide1 {
    background: var(--slide-1);
}
body.slide10,
body.slide6,
body.slide2 {
    background: var(--slide-2);
}
body.slide11,
body.slide7,
body.slide3 {
    background: var(--slide-3);
}
#canvas-wrap {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
}

#canvas-wrap:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    opacity: .85;
    z-index: 1;
    /* background: rgb(166,127,223);
    background: radial-gradient(at -10% 10%, rgba(166,127,223,1) 0%, rgba(166,127,223,0.35) 36%, rgba(166,127,223,0) 100%); */
    background: url(../img/blu.png) no-repeat center center;
    background-size: contain;
    width: 90vh;
    height: 90vh;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    transition: all .5s linear;
    animation: rotateFaretti 10s linear infinite, aroundScreenAzzurro 200s linear infinite;
}
#canvas-wrap:after {
    content: '';
    position: absolute;
    top: 100%;
    left: 100%;
    opacity: .85;
    z-index: 1;
    /* background: rgb(21,133,159);
    background: radial-gradient(at 120% 100%, rgba(21,133,159,1) 0%, rgba(21,133,159,0.35) 36%, rgba(21,133,159,0) 100%); */
    background: url(../img/viola.png) no-repeat center center;
    background-position: 100% 50%;
    background-size: contain;
    width: 90vh;
    height: 90vh;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    transition: all .5s linear;
    animation: rotateFaretti 30s linear infinite, aroundScreenViola 200s linear infinite;
}

body.slide9 #canvas-wrap:before,
body.slide5 #canvas-wrap:before,
body.slide1 #canvas-wrap:before {
    left: 50%;
}
body.slide9 #canvas-wrap:after,
body.slide5 #canvas-wrap:after,
body.slide1 #canvas-wrap:after {
    left: 50%;
}
body.slide10:before,
body.slide6:before,
body.slide2:before {
    left: 100%;
}
body.slide10:after,
body.slide6:after,
body.slide2:after {
    left: 0%;
}
#calendar {
    border-radius: 10px;
    aspect-ratio: 1;
    position: relative;
    color: #2d2d2d;
    padding-bottom: 80px;
    max-width: 240px;
    /* overflow: hidden; */
}
#calendar:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 20%;
    z-index: 3;
    background: #007bff;
    border-radius: 10px 10px 0 0;
}
#calendar:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 80px;
    z-index: -400;
    width: 100%;
    height: 100%;
    background: #313131;
    border-radius: 10px;
}
#calendar span {
    position: absolute;
    top: 16%;
    font-weight: 600;
    text-align: center;
    width: 92%;
    height: calc(100% - 25%);
    display: block;
    margin-left: 4%;
    margin-right: auto;
    border-radius: 0 0 8px 8px;
    background: #FFF;
    font-size: 70px;
    display: flex;
    flex-wrap: wrap;
    /* align-items: center; */
    justify-content: center;
    line-height: 1;
    padding-top: 30px;
    z-index: -399;
    font-weight: 700;
    box-shadow: 0px 16px 10px -10px #000000c7,  0px -5px 5px -5px #000000c7;
}
#calendar span:after {
    content: 'giorni';
    width: 100%;
    line-height: 1;
    text-align: center;
    font-weight: 500;
    font-size: 20px;
}
#calendar span:nth-child(1):after {
    content: 'giorno';
}
#calendar:has(.visible) span:not(.visible) {
    animation: calendario .2s linear forwards;
    animation-play-state: paused;
}
.swiper-slide-active #calendar:has(.visible) span:not(.visible) {
    animation-play-state: running;
    animation-delay: .8s;
}
#calendar span:nth-child(1) {
    z-index: 2 !important;
    animation-delay: .1s;
}
#ribbon-wrap {
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 150px;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
}
#ribbon-wrap .ribbon {
    background: #FFF;
    color: #333;
    padding: 6px 0;
    height: 30px;
    width: 100%;
    width: 1750px;
    max-width: 0px;
    position: absolute;
    top: 140px;
    white-space: nowrap;
    overflow: hidden;
    box-shadow: 0px 1px 10px -5px #000000e0;
    animation: stripeIn 2s linear forwards;
}


body:not(.slide-initial):not(.slide0) #ribbon-wrap .ribbon {
    animation: stripeOut .5s linear forwards;
    /* animation: stripeTop 5s linear alternate-reverse; */
}
#ribbon-wrap .ribbon-first {
    left: -10%;
    transform-origin: left;
    color: var(--color-azzurro);
    -webkit-transform: rotate(-6deg);
    transform: rotate(-6deg);
}
#ribbon-wrap .ribbon-last {
    right: -10%;
    color: var(--color-viola);
    transform-origin: right;
    -webkit-transform: rotate(8deg);
    transform: rotate(8deg);
}
#ribbon-wrap .ribbon:before,
#ribbon-wrap .ribbon::after {
    content: attr(data-write);
    color: inherit;
    text-transform: uppercase;
    position: absolute;
    top: 0;
    left: 0;
    font-weight: 600;
    padding: 6px 0;
    width: 100%;
    animation: runner 15s linear infinite;
    animation-delay: 1s;
}
#ribbon-wrap .ribbon:before {
    left: -100%;
    /* animation-delay: 15s; */
}

@keyframes flashing {
    0% {
        background: url(../img/lampadina-spenta.png) no-repeat left top;
        background-size: contain;
    }
    20% {
        background: url(../img/lampadina-accesa.png) no-repeat left top;
        background-size: contain;
    }
    30% {
        background: url(../img/lampadina-spenta.png) no-repeat left top;
        background-size: contain;
    }
    50% {
        background: url(../img/lampadina-accesa.png) no-repeat left top;
        background-size: contain;
    }
    90% {
        background: url(../img/lampadina-spenta.png) no-repeat left top;
        background-size: contain;
    }
    100% {
        background: url(../img/lampadina-accesa.png) no-repeat left top;
        background-size: contain;
    }   
}
@keyframes stripeIn {
    0% {
        color: #FFF;
        max-width: 0px;
    }
    50% {
        color: #FFF;
        max-width: 2000px;
    }
    100% {
        /* color: #333; */
        max-width: 2000px;
    }
}
@keyframes stripeOut {
    0% {
        /* color: #333; */
        max-width: 2000px;
    }
    20% {
        color: #FFF;
        max-width: 2000px;
    }
    100% {
        color: #FFF;
        max-width: 0px;
    }
}
@keyframes rotateFaretti {
    0% {
        -webkit-transform: translate(-50%, -50%) rotate(0deg) scale(1);
        transform: translate(-50%, -50%) rotate(0deg) scale(1);
    }
    25% {
        -webkit-transform: translate(-50%, -50%) rotate(90deg) scale(.85);
        transform: translate(-50%, -50%) rotate(90deg) scale(.85);
    }
    50% {
        -webkit-transform: translate(-50%, -50%) rotate(180deg) scale(.95);
        transform: translate(-50%, -50%) rotate(180deg) scale(.95);
    }
    75% {
        -webkit-transform: translate(-50%, -50%) rotate(270deg) scale(.9);
        transform: translate(-50%, -50%) rotate(270deg) scale(.9);
    }
    100% {
        -webkit-transform: translate(-50%, -50%) rotate(360deg) scale(1);
        transform: translate(-50%, -50%) rotate(360deg) scale(1);
    }
}
@keyframes aroundScreenAzzurro {
    0% {
        top: 0%;
        left: 0%;
    }
    25% {
        top: 0%;
        left: 100%;
    }
    50% {
        top: 100%;
        left: 100%;
    }
    75% {
        top: 100%;
        left: 0%;
    }
    100% {
        top: 0%;
        left: 0%;
    }
}
@keyframes aroundScreenViola {
    0% {
        top: 100%;
        left: 100%;
    }
    25% {
        top: 100%;
        left: 0%;
    }
    50% {
        top: 0%;
        left: 0%;
    }
    75% {
        top: 0%;
        left: 100%;
    }
    100% {
        top: 100%;
        left: 100%;
    }
}
@keyframes runner {
    0% {
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
    }
    100% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
    }
}

@keyframes calendario {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
    60% {
        -webkit-transform: translateY(80%);
        transform: translateY(80%);
        opacity: .5;
    }
    100% {
        -webkit-transform: translateY(80%);
        transform: translateY(80%);
        opacity: 0;
    }
}
.grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
    font-size: 20px;
}
.grid-2-3 {
    display: grid;
    grid-template-columns: 30% auto;
    gap: 40px;
    align-items: center;
}

.title {
    line-height: 1.3;
    font-size: 2.7em;
    font-weight: 800;
    color: #FFF;
    text-align: left;
    margin-top: 20px;
    margin-bottom: 4rem;
}
.subtitle {
    font-size: 1.1em;
}
.text {
    font-size: 1em;
    font-weight: 300;
}

.swiper-slide .wrap-content {
    padding-right: 0;
    color: #FFF;
    width: 950px;
    max-width: 100%;
}
.progresso {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
}
.progresso .circle {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: #d2ff5e;
    border: 2px solid #111;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.4em;
    font-weight: 600;
    color: #111;
    font-size: 30px;
    position: relative;
    z-index: 2;
    
}
.progresso .cosa {
    background: #FFF;
    color: #111;
    border: 2px solid #111;
    padding: 5px 15px 5px 30px;
    font-weight: 600;
    margin-left: -15px;
    line-height: 40px;
    position: relative;
    font-size: 1em;
    z-index: 1;
    text-align: center;
    width: calc(100% - 100px);
}

.progresso-wrap + .progresso-wrap {
    margin-top: 20px;
}
.wrap-content .progresso-wrap:nth-child(odd) .progresso {
    flex-direction: row-reverse;
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
}

.swiper-slide-active .wrap-content .progresso-wrap:nth-child(even) .progresso {
    animation: shakeEven .4s linear alternate forwards;
    animation-iteration-count: 5;
    animation-play-state: paused;
}
.swiper-slide-active .wrap-content .progresso-wrap:nth-child(odd) .progresso {
    animation: shakeOdd .4s linear alternate forwards;
    animation-iteration-count: 5;
    animation-play-state: paused;
}
.swiper-slide-active .wrap-content .progresso-wrap:nth-child(even) .progresso,
.swiper-slide-active .wrap-content .progresso-wrap:nth-child(odd) .progresso {
    animation-play-state: running;
}
.wrap-content .progresso-wrap:nth-child(odd) .progresso .cosa {
    margin-right: -15px;
    margin-left: 0;
    padding: 5px 30px 5px 15px;
}

@keyframes shakeEven {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    30% {
        -webkit-transform: rotate(-2deg);
        transform: rotate(-2deg);
    }
    70% {
        -webkit-transform: rotate(1deg);
        transform: rotate(1deg);
    }
    100% {
        -webkit-transform: rotate(-5deg);
        transform: rotate(-5deg);
    }
}
@keyframes shakeOdd {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    30% {
        -webkit-transform: rotate(2deg);
        transform: rotate(2deg);
    }
    70% {
        -webkit-transform: rotate(-1deg);
        transform: rotate(-1deg);
    }
    100% {
        -webkit-transform: rotate(3deg);
        transform: rotate(3deg);
    }
}
.strumenti-list {
    counter-reset: number;
}
.strumenti-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 40px;
}
.strumento-item {
    counter-increment: number;
    display: flex;
    align-items: center;
    line-height: 40px;
    padding: 10px 15px;
    font-size: 24px;
    cursor: pointer;
    color: #111;
}
.strumenti-wrap  + .strumenti-wrap {
    margin-top: 1.5rem;
}
.strumento-item:before {
    content: counter(number);
    font-weight: 800;
    font-size: 1.4em;
    margin-right: 10px;
}
.strumenti-list.outline .strumento-item {
    background: #FFF;
}
.strumenti-wrap {
    position: relative;
}
.strumenti-wrap .strumento-item:after {
    content: '';
    margin-left: -50px;
    position: absolute;
    top: 0;
    left: 50%;
    z-index: -1;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
    border-left: 18px solid #f00;
    border-bottom: 18px solid transparent;
    transition: all .3s ease-out;
}
.strumenti-wrap:hover .strumento-item:after,
.strumenti-wrap.open .strumento-item:after {
    margin-left: -20px;
}
.strumenti-wrap .collapse-text {
    width: 50%;
    right: 0%;
    margin-right: -20px;
    font-weight: 400;
    font-size: 17px;
    overflow: hidden;
    position: absolute;
    top: 0;
    opacity: 1;
    transition: all .3s ease-out;
}
.strumenti-wrap:not(:hover):not(.open) .collapse-text {
    max-height: 0;
    opacity: 0;
}


.strumenti-wrap:nth-child(1) .strumento-item:after {
    border-left-color: var(--color-verde);
}
.strumenti-wrap:nth-child(2) .strumento-item:after {
    border-left-color: var(--color-azzurro);
}
.strumenti-wrap:nth-child(3) .strumento-item:after {
    border-left-color: var(--color-viola);
}
.strumenti-wrap:nth-child(4) .strumento-item:after {
    border-left-color: var(--color-giallo);
}
.strumenti-wrap:nth-child(5) .strumento-item:after {
    border-left-color: var(--color-blu);
}

.slot-machine p {
    margin: 0 0 16px;
    font-size: 18px;
    line-height: 23px;
}

.slot-machine .slot-machine {
    /* width: 800px; */
    margin: 0 auto;
}

.slot-machine .group,
.slot-machine .reel {
    display: inline-block;
    color: #000000;
}
.grid-auto {
    grid-template-columns: auto auto;
}
.slot-machine .group {
    display: flex;
    justify-content: space-between;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    padding: 0px 0;
    /* 0rem = 0px */
    width: 300px;
    border-radius: 30px;
    /* 3rem = 30px */
    border: 5px solid #ddd;
    overflow: hidden;
    position: relative;
}

.border-azzurro .slot-machine .group {
    border: 5px solid var(--color-azzurro);
}
.border-verde .slot-machine .group {
    border: 5px solid var(--color-verde);
}
.border-viola .slot-machine .group {
    border: 5px solid var(--color-viola);
}
.slot-machine .reel {
    position: relative;
    height: 100px;
    /* 10rem = 100px */
    padding: 0 10px;
    /* 1rem = 10px */
    overflow: hidden;
    text-align: center;
    background: #ffffff;
}

.slot-machine .reel .reel-holder {
    position: relative;
    top: -40px;
    /* -4rem = -40px */
    text-align: center;
}

.slot-machine .lever {
    opacity: 0;
    height: 0px;
    font-size: 0px;
    padding: 0;
    border: none;
    display: none;
}
.slot-machine .reel .reel-door {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 40px;
    /* 4rem = 40px */
    font-weight: bold;
    background: #fab821;
    background: #FFF;
}

.slot-machine .reel p {
    height: 60px;
    /* 6rem = 60px */
    margin-top: 10px;
    /* 1rem = 10px */
    margin-bottom: 0;
    font-size: 48px;
    /* 4.8rem = 48px */
    font-weight: bold;
}
.first-slide {
    background: url(../img/stelline.svg) no-repeat -1% 80%;
    background-size: auto 80%;
}
.first-slide .wrap-content,
.final-slide .wrap-content {
    /* margin-left: auto;
    margin-right: auto;
    width: auto;
    padding-top: 10vh; */
    padding-left: 16%;
}
.first-slide .title {
    font-size: 50px;
    position: relative;
}

.first-slide .title span {
    color: #ffb400;
    font-size: 2em;
}
.first-slide .title img {
    height: 60px;
    width: auto;
    position: static;
    margin-left: 10px;
    display: inline-block;
}
.first-slide .subtitle {
    font-size: 2em;
    font-weight: 300;
}
.max-suggestion {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 120px;
    height: 150px;
    cursor: pointer;
    z-index: 99;
    background: url(../img/max-lampadina.png) no-repeat center center;
    background-size: contain;
    transition: all 500ms ease-out;
    transition-delay: 0s;
}
.max-suggestion:not(.active) {
    -webkit-transform: translateX(200%);
    transform: translateX(200%);
}
.max-suggestion.active {
    background: url(../img/max-ballon.png) no-repeat center center;
    background-size: contain;
}
.swiper-slide-active .max-suggestion {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
}
.max-suggestion:before {
    content: '';
    width: 50px;
    height: 100%;
    display: block;
    position: absolute;
    right: 100%;
    top: 0;
    background: url(../img/lampadina-spenta.png) no-repeat left top;
    background-size: contain;
    animation: flashing 2s linear infinite;
}
.max-suggestion.active:before {
    opacity: 0;
}

.max-suggestion .suggestion {
    opacity: 0;
    border: 5px solid var(--color-verde);
    border-radius: 10px;
    background: #FFF;
    color: #333;
    padding: 10px;
    margin-right: 10px;
    display: block;
    position: absolute;
    top: -30px;
    right: 100%;
    font-size: 15px;
    font-weight: 500;
    min-width: 190px;
    max-width: calc(100% - 130px);
    transition: all 300ms ease-out;
}
.border-verde .max-suggestion .suggestion {
    border: 5px solid var(--color-verde);
}
.border-verde .max-suggestion .suggestion:after {
    border-left: 16px solid var(--color-verde);
}
.border-azzurro .max-suggestion .suggestion {
    border: 5px solid var(--color-azzurro);
}
.border-azzurro .max-suggestion .suggestion:after {
    border-left: 16px solid var(--color-azzurro);
}
.border-viola .max-suggestion .suggestion {
    border: 5px solid var(--color-viola);
}
.border-viola .max-suggestion .suggestion:after {
    border-left: 16px solid var(--color-viola);
}
.max-suggestion.active .suggestion {
    opacity: 1;
}

.max-suggestion .suggestion:after {
    content: '';
    position: absolute;
    bottom: 30%;
    left: 100%;
    border-left: 16px solid var(--color-verde);
    border-top: 13px solid transparent;
}

svg.curvatura {
    width: 150vw;
    position: absolute;
    left: 50%;
    top: 150px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    overflow: unset;
}
svg.curvatura path {
    fill: transparent;
}

svg.curvatura text {
    font-size: 20px;
    fill: #FFF;
    position: relative;
}
svg.curvatura text:before {
    content:'';
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    width: 300px;
    height: 100px;
}
.final-slide {
    background: url(../img/stellone.svg) no-repeat bottom left;
    background-size: auto 80%;
}
.final-slide .wrap-content {
    padding-top: 6vh;
}
.share-wrap .btn {
    /* border: 1px solid #ddd; */
    text-decoration: none;
    border-radius: 9px;
    padding: 10px;
    min-width: 50px;
    min-height: 50px;
    margin-top: 30px;
    display: inline-block;
    text-align: center;
    margin-right: 10px;
    color: #FFF;
    background: #FFF;
    font-weight: 600;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    transition: all 400ms ease-out;
}
.share-wrap .btn svg path {
    /* fill: #FFF; */
    fill: #012243;
}
/* .share-wrap .btn.facebook  {
    background: #1877f2;
}
.share-wrap .btn.linkedin  {
    background: #0a66c2;
} */
.share-wrap {
    display: flex;
    align-items: center;
}
.share-wrap .btn:hover {
    opacity: .6;
}
.final-slide.condivisa {
    background-size: 40%;
}
.final-slide.condivisa .wrap-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 950px;
}
.final-slide.condivisa .wrap-content .logo-centered {
    display: block;
    margin: -50px auto 40px;
    max-width: 440px;
}
.final-slide.condivisa .wrap-content .cta-final {
    margin-top: 20px;
    display: block;
    background: var(--color-blu);
    color: #FFF;
    padding: 6px 20px;
    font-size: 20px;
    text-decoration: none;
    transition: all 400ms ease-out;
}
.final-slide.condivisa .wrap-content .cta-final:hover {
    background: #0059b9;
}

.final-slide.condivisa .max-volante {
    width: 280px;
    height: 220px;
    position: absolute;
    bottom: 30px;
    right: 15%;
    z-index: -1;
}
@media (max-width:1199px) {
    .wrap-content {
        padding-top: 10vh;
    }
    .title {
        font-size: 2.2em;
    }
}
@media (max-width:992px) {
    .first-slide .title {
        font-size: 40px;
    }

}
@media (min-width:1025px) {
    .max-suggestion:hover:before {
        background: url(../img/lampadina-accesa.png) no-repeat left top;
        background-size: contain;
        animation-play-state: paused;
        animation: none;
    }
}
@media (max-width:767px) {
    .final-slide.condivisa .wrap-content .logo-centered {
        display: block;
        margin: -30px auto 40px;
        max-width: 280px;
    }
    .strumenti-wrap:not(.open) .collapse-text {
        max-height: 0;
        opacity: 0;
    }
    
    .grid {
        font-size: 14px;
    }
    .first-slide {
        background-size: 50%;
        background-position: bottom left;
    }
    .first-slide .wrap-content,
    .final-slide .wrap-content {
        width: 100%;
        padding-left: 0;
        padding-top: 0 !important;
    }
    .first-slide .wrap-content {
        margin-bottom: 150px;
    }


    /* .swiper-slide .wrap-content > .title {
        margin-top: 100px;
    } */
    .strumenti-wrap .collapse-text {
        font-size: 15px;
    }
    .first-slide .title {
        font-size: 32px;
        margin-bottom: 1.2rem;
        position: static !important;
        margin-top: 0 !important;
    }
    .first-slide .title img {
        height: 30px;
    }
    .first-slide .subtitle {
        font-size: 1.3em;
    }
    .final-slide {
        background-size: auto 50%;
    }
    .strumenti-list {
        margin-top: 2rem;
    }
    .progresso-wrap {
        margin-top: 20px;
    }
    .swiper-slide .wrap-content {
        position: relative;
        padding-top: var(--spacing-top);
        /* height: 100vh; */
    }    
    .swiper-slide:not(.first-slide):not(.final-slide) .wrap-content {
        position: relative;
        display: flex;
        flex-direction: column;
        /* justify-content: space-between; */
        /* padding-top: var(--spacing-top); */
        height: 100vh;
        padding-bottom: 160px;
    }
    .final-slide .wrap-content {
        padding-top: 6vh;
    }
    .grid:not(.progresso-wrap) {
        /* min-height: calc(99vh - var(--spacing-top));
        min-height: calc(99vh - var(--spacing-top));
        margin-top: var(--spacing-top); */
        display: flex;
        flex-wrap: wrap;
        grid-row-gap: 0;
        align-items: center;
        flex-direction: column;
        /* justify-content: center; */
        justify-content: unset;
    /* } */
    }
    .unset-slide .wrap-content > .title {
        position: absolute;
        top: 10px;
        left: 0;
        right: 0;
        width: 100%;
    }
    .title {
        margin-bottom: 2rem;
        font-size: 1.5em;
    }
    .strumenti-wrap + .strumenti-wrap {
        margin-top: 0;
    }
    body .subtitle {
        font-size: 1.3em;
        margin-top: 2rem;
    }
    #calendar {
        max-width: 180px;
        width: 180px;
        margin: 0 auto 20px;
    }
    #calendar span {
        padding-top: 20px;
        font-size: 64px;
    }
    #ribbon-wrap .ribbon {
        top: 60px;
        height: 30px;
    }
    .grid {
        display: block;
    }
    .progresso {
        font-size: 17px;
    }
    .progresso .circle {
        width: 70px;
        height: 70px;
        font-size: 22px;
    }
    .progresso .cosa {
        line-height: 1.2;
        margin-left: -25px;
    }
    .wrap-content .progresso-wrap:nth-child(odd) .progresso .cosa {
        margin-right: -25px;
    }
    .wrap-content .progresso-wrap:nth-child(odd) .progresso .cosa,
    .wrap-content .progresso-wrap .progresso .cosa {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .text {
        font-size: 1.1em;
        font-weight: 300;
        margin-top: 10px;
    }
    .strumenti-wrap {
        display: block;
    }
    .strumento-item {
        font-size: 18px;
        padding: 0px 10px;
    }
    .strumenti-wrap .strumento-item:after {
        display: none;
    }
    .strumenti-wrap:nth-child(1) .strumento-item ~ .collapse-text:after {
        border-top-color: var(--color-verde);
    }
    .strumenti-wrap:nth-child(2) .strumento-item ~ .collapse-text:after {
        border-top-color: var(--color-azzurro);
    }
    .strumenti-wrap:nth-child(3) .strumento-item ~ .collapse-text:after {
        border-top-color: var(--color-viola);
    }
    .strumenti-wrap:nth-child(4) .strumento-item ~ .collapse-text:after {
        border-top-color: var(--color-giallo);
    }
    .strumenti-wrap:nth-child(5) .strumento-item ~ .collapse-text:after {
        border-top-color: var(--color-blu);
    }
    .strumenti-wrap + .strumenti-wrap {
        margin-top: 10px;
    }
    .strumenti-wrap .collapse-text {
        width: 100%;
        padding-top: 15px;
        margin: 0px 0 0 0;
        position: relative;
    }
    .strumenti-wrap .collapse-text:after {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        -webkit-transform: translate(-50%, -100%);
        transform: translate(-50%, -100%);
        border-top: 10px solid #f00;
        border-left: 10px solid transparent !important;
        border-right: 10px solid transparent !important;
    }
    .strumenti-wrap.open .strumento-item ~ .collapse-text:after {
        -webkit-transform: translate(-50%, 0%);
        transform: translate(-50%, 0%);
    }
    .max-suggestion {
        width: 100px;
    }
    svg.curvatura text {
        font-size: 40px;
    }
    /* .wrap-content .progresso-wrap:nth-child(even) .circle {
        order: -1;
    }
    .wrap-content .progresso-wrap:nth-child(even) .cosa {
        order: 1;
    } */

}